Traditionally, many photo clustering algorithms rely on time information to organise photos into groups. For example, photos are often grouped by the day they were taken or by identifying significant time differences in a time ordered list of photos. While time is a key indicator for determining event boundaries—when used alone, is the value derived can be limited. For example, over the passage of one hour, a photographer could be at a new location 60 km away, or they could be in the same location. It is the extra piece of information—how far they have moved—which can distinguish whether or not a new event has occurred.
Time information is usually associated with a captured image using a timestamp generated by a real-time clock integral with the image capture device, such as a camera. Location data, sometimes known as geographical data, geodata, or a geo-tag, is typically determined using a satellite positioning/navigation device such as a Global Positioning System (GPS) device. Again, such a device may be integral with the camera. Such information when associated with the captured image is metadata, and is typically organised in an EXIF component of the JPEG (.jpg) file of the image.
Techniques for arranging photos into groups based on time and location information have been in existence for a number of years, however, cameras which supply a geo-tag as well as a timestamp have only recently come into mainstream use. Without a camera which embeds GPS information into the EXIF data of the photo, the user would be required to manually annotate GPS information into their photos or carry a GPS logger with them which would later provide GPS information for the photos by cross referencing the time stamps on the photos with the time stamps on the GPS log. Both of these methods are inconvenient and time consuming. It could be argued that the overhead of manually geo-tagging photos or cross referencing with a GPS log far exceeds the potential benefits gained by using location information for photo clustering. As a result, the overhead of geo-tagging photos has meant time and location based clustering algorithms have not been widely adopted. However, as cameras which provide a geo-tag on the photo become more popular, photo clustering algorithms which group photos using time and GPS information will become in more widespread use. As a result, with the expected proliferation of cameras which provide a geotag in the EXIF data, such information can be exploited in grouping collections of photos into events.
Current methods of event identification look at the time differences and distance differences between adjacent photos in a time ordered list of photos and attempt to identify time and distance outliers. This approach may not always be useful in situations when a photographer takes two sets of photos for the same event—one in one location and then more photos in the same location later in the day. At the boundary between the last photo from the first set and first photo from the second set, it would be considered a time outlier because of the large change in time but not a distance outlier because it was in the same area.
Other techniques seek to identify when time differences or distance difference outliers occur. A disadvantage of these approaches is that by only considering time or distance, new events can be incorrectly detected. For example, for a travel event such as photos being taken while travelling on a bus or in car, the large distance differences will be detected as outliers resulting in the travel event being erroneously broken up into multiple events. In addition, if there are short bursts of photos taken in one location but the time between bursts is considered to be an outlier—an event may be erroneously broken up into multiple events.
In addition, both of the preceding techniques cannot generate a predefined number of clusters easily. The number of clusters could be adjusted by changing the thresholds for what constitutes an outlier. However, such an approach is inconvenient and the number of clusters created cannot be easily set.